// 注：这个文件被用于管理项目中所有与用户登录或退出登录有关的接口
import request from "@/utils/request";
import type { typeOfLoginParams, typeOfResponceDataOfLogin, typeOfResponceDataOfGetUserInfo } from "./type";
/* // 统一管理接口，枚举接口地址↓
enum API {
    LOGIN_URL = "/user/login",
    USERINFO_URL = "/user/info",
}
// 对外导出发送请求的方法↓
// 向登录接口发送请求的方法↓
// export const requestLogin = (data: any) => request.post(API.LOGIN_URL, data) // 这里的data是登录表单的数据（包含用户名和密码）
// export const requestLogin = (data: typeOfLoginParams) => request.post(API.LOGIN_URL, data)
// 注：这里的泛型写法，尖括号中第一个位置上的“any”表示的是“请求体（即请求参数，也就是发送给服务器的数据）的数据类型”，第二个位置上的“typeOfResponceDataOfLogin”表示的是“期望的响应结果”的类型（也就是“从服务器返回的数据”的类型）。

export const requestLogin = (data: typeOfLoginParams) => request.post<any, typeOfResponceDataOfLogin>(API.LOGIN_URL, data)
// 向获取用户信息接口发送请求的方法↓
export const requestUserInfo = () => request.get<any, typeOfResponceDataOfGetUserInfo>(API.USERINFO_URL) */
// 枚举本项目中与用户相关的API接口地址↓
enum API {
    LOGIN_URL = "admin/acl/index/login",
    USERINFO_URL = "/admin/acl/index/info",
    // 用户退出登录时需要用到的API接口地址↓
    LOGOUT_URL = "/admin/acl/index/logout",
}
// 对外导出发送请求的方法↓
// 向登录接口发送请求的方法↓
// export const requestLogin = (data: any) => request.post<any,any>(API.LOGIN_URL, data);
// export const requestLogin = (data: typeOfLoginParams) => request.post<any,any>(API.LOGIN_URL, data);
export const requestLogin = (data: typeOfLoginParams) => request.post<any,typeOfResponceDataOfLogin>(API.LOGIN_URL, data);
// export const requestUserInfo = () => request.get<any,any>(API.USERINFO_URL);
export const requestUserInfo = () => request.get<any,typeOfResponceDataOfGetUserInfo>(API.USERINFO_URL);
// 用户退出登录时需要用到的方法↓
export const requestLogout = () => request.post<any,any>(API.LOGOUT_URL);